package com.cms.pub;

import java.awt.image.BufferedImage;
import java.io.FileOutputStream;

import org.jbarcode.JBarcode;
import org.jbarcode.encode.Code128Encoder;
import org.jbarcode.encode.Code39Encoder;
import org.jbarcode.encode.EAN13Encoder;
import org.jbarcode.paint.BaseLineTextPainter;
import org.jbarcode.paint.EAN13TextPainter;
import org.jbarcode.paint.WideRatioCodedPainter;
import org.jbarcode.paint.WidthCodedPainter;
import org.jbarcode.util.ImageUtil;

/**
 * 2008-10-4
 */
public class OneBarcodeUtil {
	public static void createBarcode(String barcodeContent, String barcode, String filePath) {
		try {
			JBarcode localJBarcode = new JBarcode(EAN13Encoder.getInstance(), WidthCodedPainter.getInstance(), EAN13TextPainter.getInstance());
		    localJBarcode.setEncoder(Code128Encoder.getInstance());
		    localJBarcode.setPainter(WideRatioCodedPainter.getInstance());
		    localJBarcode.setTextPainter(BaseLineTextPainter.getInstance());
		    localJBarcode.setShowCheckDigit(false);
//		    localJBarcode.setShowText(false);
		    BufferedImage localBufferedImage = localJBarcode.createBarcode(barcodeContent);
		    saveToPNG(localBufferedImage, barcode, filePath);
		} catch (Exception localException) {
			localException.printStackTrace();
		}
	}

	static void saveToPNG(BufferedImage paramBufferedImage, String paramString, String filePath) {
		saveToFile(paramBufferedImage, paramString, "png", filePath);
	}

	static void saveToFile(BufferedImage paramBufferedImage, String paramString1, String paramString2, String filePath) {
		String            fileSeparator = System.getProperty("file.separator");
		try {
			FileOutputStream localFileOutputStream = new FileOutputStream(filePath + fileSeparator + paramString1);
			ImageUtil.encodeAndWrite(paramBufferedImage, paramString2,localFileOutputStream, 96, 96);
			localFileOutputStream.close();
		} catch (Exception localException) {
			localException.printStackTrace();
		}
	}

}
